DB インデックス
大規模なテーブルに対して作成する
目安としてレコード数1万件以下ではほぼ効果がない
インデックスはカーディナリティの高い列に作成する
どのぐらいの種類の多さを持つか
性別 → カーディナリティ 3、低い
受付日 → カーディナリティ 365、高い
B-treeインデックスが利用されない例
インデックス列で演算を行なっている
索引列に対してSQL関数を適用している
否定形を用いている
ORを用いている(DBの種類にもよる)
前方一致以外でLIKEを用いている
暗黙の型変換を行なっている(DBの種類にもよる)
主キー制約や一意制約は、内部的にはB-treeインデックスが作成されている
インデックス作成のデメリット
更新性能の劣化